home *** CD-ROM | disk | FTP | other *** search
/ IRIX Patches 1995 June / SGI IRIX Patches 1995 Jun.iso / 5.3_patches / patchSG0000487 / patchSG0000487.idb / var / sysgen / mtune / kernel.z / kernel
Encoding:
Text File  |  1995-06-12  |  12.5 KB  |  386 lines

  1. **************************************************************************
  2. * Copyright 1990-1994, Silicon Graphics, Inc. 
  3. * All Rights Reserved.
  4. *
  5. * This is UNPUBLISHED PROPRIETARY SOURCE CODE of Silicon Graphics, Inc.;
  6. * the contents of this file may not be disclosed to third parties, copied or 
  7. * duplicated in any form, in whole or in part, without the prior written 
  8. * permission of Silicon Graphics, Inc.
  9. *
  10. * RESTRICTED RIGHTS LEGEND:
  11. * Use, duplication or disclosure by the Government is subject to restrictions 
  12. * as set forth in subdivision (c)(1)(ii) of the Rights in Technical Data
  13. * and Computer Software clause at DFARS 252.227-7013, and/or in similar or 
  14. * successor clauses in the FAR, DOD or NASA FAR Supplement. Unpublished - 
  15. * rights reserved under the Copyright Laws of the United States.
  16. **************************************************************************
  17. *
  18. *#ident "$Revision: 1.58 $"
  19.  
  20. * This is a read-only file. User-specified tunables are stored
  21. * in var/sysgen/stune file.
  22. *
  23. * kernel
  24. *
  25.  
  26.  
  27.  
  28. * tunables that turn on/off features
  29. *
  30. * nosuidshells: to allow setuid shells set to 0
  31. * restricted_chown = 1   bsd style chown(2), only super-user can give away files
  32. * restricted_chown = 0 sysV style chown(2), non super-user can give away files
  33. * posix_tty_default = 0 ==> run our default line discipline and settings
  34. * posix_tty_default = 1 ==> match tty parameters/POSIX test assumptions
  35. * use_old_serialnum = 1 ==> Force the kernel to use the old method of
  36. *            calculating a 32-bit serial number for sysinfo -s.
  37. *            This variable only affects Onyx/Challenge L/XL systems.
  38. * reboot_on_panic = -1 ==> Use machine dependent reboot after panic semantics.
  39. * reboot_on_panic =  0 ==> Do not reboot the system after a panic (wait for
  40. *            user to hit the system reset button).
  41. * reboot_on_panic =  1 ==> Automatically reboot the system after a panic.
  42. *
  43. * reset_limits_on_exec = 1 ==> Reset rlimits on exec of processes that are
  44. *            setuid to root to prevent unprivileged processes from
  45. *            enforcing resource limitations on setuid/setgid procs.
  46. * reset_limits_on_exec = 0 ==> Don't reset limits on execs of setuid procs.
  47. *
  48. * tty_auto_strhold = 1 ==> automatically sets STRHOLD on ttys/ptys whenever
  49. *            the line discipline is in canonical & echo mode and
  50. *            automatically clears STRHOLD otherwise.
  51. * tty_auto_strhold = 0 ==> STRHOLD on ptys/ttys is entirely under user control.
  52. switch:    static
  53.  
  54. * name            default          minimum        maximum
  55. nosuidshells         1
  56. restricted_chown     0
  57. posix_tty_default    0
  58. use_old_serialnum    0
  59. reboot_on_panic        -1
  60. reset_limits_on_exec    1
  61.  
  62. switch: run
  63. * name            default          minimum        maximum
  64. tty_auto_strhold    0
  65.  
  66. * miscellaneous dynamic tuneables 
  67. *
  68. * r4k_div_patch = 1    turn on exec patch code for binaries that have been
  69. *            processed with r4kpp for the divide in branch delay slot
  70. *            problem that occurs on R4000 SC rev 2.2 and 3.0 parts.
  71. * corepluspid = 1    name core file as "core.pid"
  72. * panic_on_sbe = 1    special factory debugging mode
  73. * ecc_recover_enable = 0  ==> don't attempt to recover from multibit errors
  74. *             > 0  ==> attempt to recover from some cases of multibit
  75. *                errors, but no more than 32 errors every
  76. *                "ecc_recover_enable" seconds (default 60 secs)
  77. * munlddelay = 5    timeout for auto-unload for loadable modules
  78. *
  79. misc: run
  80.  
  81. * name            default        minimum        maximum
  82. r4k_div_patch        0
  83. corepluspid        0
  84. panic_on_sbe        0
  85. ecc_recover_enable    60
  86. module_unld_delay    5        0
  87.  
  88. *
  89. * tunables that set the limit
  90. *
  91. * ncargs is max # bytes of arguments passed during an exec(2)
  92. * shlbmax :  Maximum number of libraries that can be
  93. *            attached to a process at one time.
  94. * maxwatchpoints:  maximum watchpoints per process
  95. * nprofile: number of disjoint text spaces to be profiled 
  96. * maxsymlinks is the maximum number of symlinks expanded in an pathname.
  97. * reserve_ncallout: number of reserved callouts 
  98. * maxup: the maximum number of processes per user, should always smaller than
  99. *     nproc
  100. * vnode_free_ratio: proportion of free vnodes to vnodes in use.
  101. *
  102. * reserve_ncallout auto-config: max(5,numcpus)
  103. * maxup limit: nproc - 20
  104. * vnode_free_ratio auto-config: 2 (to one)
  105. * bmappedpct: the maximum % of syssegsz that is allowed to be mapped in the 
  106. *     buffer cache. If the value is 100, then the feature that limits the 
  107. *     reclaimation of k2 space is disabled.
  108.  
  109. limits:    run
  110.  
  111. * name            default          minimum        maximum
  112. ncargs             20480        5120        262144
  113. shlbmax         8        3        32
  114. maxwatchpoints         100        1        1000
  115. nprofile         100        100        200
  116. maxsymlinks         30        0        50
  117. reserve_ncallout     0        0        50     /* auto-config */
  118. maxup            150        15        10000
  119. vnode_free_ratio     2        1        16
  120. bmappedpct        50        30        100
  121.  
  122. *
  123. * tunables for resource limit
  124. * 'cur' may be changed via any shell or setrlimit
  125. * For limits specified as ints 0x7fffffff implies no
  126. * limit, while for limits specified as long longs 0x7fffffffffffffff
  127. * implies no limit.
  128. *
  129. * Note: rlimit_nofile_max must not be set to 0x7fffffff (or unreasonably
  130. * large) since many daemons/programs use rlimit_nofile_max as an indication
  131. * of how many file descriptors to close when they want to close them all.
  132. *
  133.  
  134. resource:    static
  135.  
  136. * name            default          minimum      maximum
  137. rlimit_cpu_cur          0x7fffffff    0    0x7fffffff
  138. rlimit_cpu_max          0x7fffffff    0    0x7fffffff
  139. rlimit_fsize_cur      0x7fffffff    0    0xffffffffff ll
  140. rlimit_fsize_max      0xffffffffff    0    0xffffffffff ll
  141. rlimit_data_cur      0x20000000    0    0x7fffffff
  142. rlimit_data_max      0x20000000    0    0x7fffffff
  143. rlimit_stack_cur      0x04000000    0    0x7fffffff
  144. rlimit_stack_max      0x20000000    0    0x7fffffff
  145. rlimit_core_cur      0x7fffffff    0    0x7fffffff
  146. rlimit_core_max      0x7fffffff    0    0x7fffffff
  147. rlimit_nofile_cur      200        20
  148. rlimit_nofile_max      2500        0    0x7fffffff
  149. rlimit_vmem_cur      0x20000000    0    0x7fffffff
  150. rlimit_vmem_max      0x20000000    0    0x7fffffff
  151. rlimit_rss_cur          0        0    0x7fffffff /* auto-config */
  152. rlimit_rss_max          0x20000000    0    0x7fffffff
  153.  
  154. *
  155. * tunables that depend on nproc
  156. *
  157. * nproc: maximum number of processes
  158. * ndquot: maximum number of file system quota structures
  159. * ncallout: initial # of callouts -- used to implement timeout calls
  160. * callout_himark:  high water mark of callouts
  161. * ncsize: directory-name lookup cache size
  162. * ngroups_max: maximum number of groups to which user can belong
  163. *
  164. * nproc auto-config: 30 + KB(mem)/240
  165. * ndquot auto-config: 200 + 2*nproc
  166. * ncsize auto-config: 200 + 2*nproc
  167. * ncallout auto-config: nproc/2
  168. *
  169. numproc:    static
  170.  
  171. * name            default          minimum      maximum
  172. nproc            0        30    10000    /* auto-config */
  173. ndquot            0        268    6200    /* auto-config */
  174. callout_himark         0        42    10000    /* auto-config */
  175. ncallout         0        20    5000    /* auto-config */
  176. ncsize             0               268     6200    /* auto-config */
  177. ngroups_max         16        0    32
  178.  
  179. *
  180. * The following is for STREAMS.
  181. *
  182. streams:    static
  183.  
  184. * name            default          minimum      maximum
  185. nstrpush          9        9       10
  186. strmsgsz          0x8000
  187. strctlsz          1024
  188.  
  189. streams:    run
  190.  
  191. * name            default          minimum      maximum
  192. strholdtime        50        0      1000
  193.  
  194. *
  195. * cpu actions -- interprocessor communication blocks
  196. * nactions: number of action block, autoconfigure if 0
  197. *
  198. * nactions auto-config: max((maxcpus+60), (maxcpus*(maxcpus/2)))
  199. *
  200.  
  201. actions:    static
  202.  
  203. * name            default          minimum      maximum
  204. nactions         0        60       200    /* auto-config */
  205.  
  206. *
  207. * tunables for queued signals
  208. *
  209. * maxsigq: used by sigqsetup()  - Posix.4 required at least 32
  210. * since svr4 SA_SIGINFO signals also share this, make maxsigq >= NSIG+32
  211. * results in
  212. * sysconf(SIGQUEUE_MAX) = maxsigq - NSIG
  213. *
  214. signals:    run
  215.  
  216. * name            default          minimum      maximum
  217. maxsigq         96        96    
  218.  
  219. *
  220. * tunables for timer
  221. *
  222. * fasthz: profiling/fast itimer clock speed. 
  223. *
  224. * itimer_on_clkcpu = 1 10 ms itimer request is queued on the clock processoro
  225. * itimer_on_clkcpu = 0 0 ms itimer request is queued on the runing processor
  226. * If a process does a setitimer then uses gettimeofday() to compare the
  227. * accuracy of the itimer delivery then itimer_on_clkcpu should be set.
  228. * If on the otherhand, itimer request is used to implement a user frequency
  229. * based scheduler then itimer_on_clkcpu should be 0.
  230. *
  231. * timetrim: The clock is adjusted by this signed number of nanoseconds 
  232. *        every second. It is limited to 3 milliseconds or 0.3% in clock.c.
  233. *    Timed(1M) and timeslave(1M) put suggested values in /usr/adm/SYSLOG.
  234. *
  235. timer:    static
  236.  
  237. * name            default          minimum      maximum
  238. fasthz             1000        500       2500    
  239. itimer_on_clkcpu     0
  240. timetrim         0
  241.  
  242. *
  243. * tunables for memory size
  244. *
  245. * maxpmem: the maximum physical memory to use, if maxpmem = 0,
  246. *       then use all available physical memory.
  247. * syssegsz: max pages of dynamic system memory,
  248. * maxdmasz: max dma transfer (in pages), must be no more than syssegsz / 2
  249. *         and less than maxpmem
  250. * maxpglst: maximum number of pages that can be held in each
  251. *        of the pager's pageout queues
  252. * maxphyscolors: max number of page colors (cache entries),
  253. *        must be a power of two
  254. *
  255. * syssegsz auto-config: min(max(KB(mem)/8,0x2000),0x10000)
  256. * maxdmasz auto-config: syssegsz/2
  257. * maxpglst auto-config: min(max(KB(mem)/2048,100)+(numcpus-1)*16,1000)
  258. * maxphyscolors auto-config: 0x1000
  259. *
  260. memsize:    static
  261.  
  262. * name            default          minimum      maximum
  263. maxpmem            0        1024
  264. syssegsz        0        0x2000      0x10000   /* auto-config */
  265. maxdmasz        1024        1024      syssegsz  /* auto-config */
  266. maxpglst        0        50      1000        /* auto-config */
  267. maxphyscolors        0        0x20      0x1000    /* auto-config */
  268.  
  269. *
  270. * Tuneable Paging parameters    
  271. *
  272. * gpgslo: If freemem < gpgslo, then start to steal pages from processes.
  273. * gpgshi: Once we start to steal pages, don't  stop until freemem > gtpgshi.    
  274. * gpgsmsk: Mask used by getpages to determine whether a page is stealable.
  275. * maxsc: The maximum number of pages which will be swapped out in a single
  276. *        operation.
  277. * maxfc: The maximum number of pages which will be saved up and freed at once.
  278. * maxdc: The maximum number of pages which will be saved up and written to
  279. *     disk (mappd files) at once.
  280. * maxumem: Obsolete - see RLIMIT_VMEM
  281. * minarmem: The minimum available resident (not swapable) memory to maintain in
  282. *        order to avoid deadlock.
  283. * minasmem: The minimum available swapable memory to maintain in order to avoid
  284. *        deadlock.
  285. * maxlkmem: The maximum amount of lockable pages per process
  286. * tlbdrop: Number of ticks before a procs wired entries are flushed
  287. * rsshogfrac: Fraction of memory RSS hogs can use
  288. * rsshogslop: # pages excess of RSS before slow down process
  289. * dwcluster: Maximum number of delayed write pages to cluster in each push.
  290. * bdflushr: The rate at which bdflush is run, in seconds.
  291. * autoup: The age a delayed-write buffer must be, in seconds,
  292. *      before bdflush will write it out.
  293. * vfs_syncr: The rate at which vfs_syncr is run, in seconds.
  294. *
  295.  
  296. paging:        run
  297.  
  298. * name            default          minimum      maximum
  299. gpgslo            0
  300. gpgshi            0        30
  301. gpgsmsk            2        0       7
  302. maxsc            0        8      maxpglst
  303. maxfc            0        50      maxpglst
  304. maxdc            0        1      maxpglst
  305. bdflushr        5        1      31536000
  306. vfs_syncr        30        1      31536000
  307. minarmem        0
  308. minasmem        0
  309. maxlkmem        2000
  310. tlbdrop            100
  311. rsshogfrac        75        0      100
  312. rsshogslop        20
  313. dwcluster        64
  314. autoup            10        1         30
  315.  
  316.  
  317. *
  318. * tunables for buffer cache
  319. *
  320. * nbuf: number of  buffers in disk buffer cache. autoconfigure if 0
  321. *
  322. * nbuf auto-config: max(100+KB(mem)/160,6000)
  323.  
  324. bufcache:    static
  325.  
  326. * name            default          minimum      maximum
  327. nbuf            0          75       6000
  328.  
  329. *
  330. * tunables for module loader
  331. *
  332. * bdevsw_extra: number of extra entries for bdevsw
  333. * cdevsw_extra: number of extra entries for cdevsw
  334. * fmodsw_extra: number of extra entries for fmodsw
  335. * vfssw_extra: number of extra entries for vfssw
  336. *
  337. mload:        static
  338.  
  339. * name            default          minimum      maximum
  340. bdevsw_extra        21        1      254
  341. cdevsw_extra        23        3      254
  342. fmodsw_extra        20        0
  343. vfssw_extra        5        0
  344.  
  345. *
  346. * tunables for spinlock pools
  347. *
  348. * R3000-based multiprocessor machines have a limited number of
  349. * MPBUS hardware locks.  To reduce the possibility of spinlock
  350. * depletion, groups of spinlocks use shared pools of locks in
  351. * a many-to-one mapping.  Users of a spinlock pool must never
  352. * nest (or must take precautions when nesting).
  353. *
  354. * sema_pool_size: number of spinlocks pooled for all semaphores
  355. * vnode_pool_size: number of spinlocks pooled for vnodes
  356. * file_pool_size: number of spinlocks pooled for file structs
  357. *
  358. splock_pool:        static
  359.  
  360. * name            default          minimum      maximum
  361. sema_pool_size        8192        1024      16384
  362. vnode_pool_size        1024        512      2048
  363. file_pool_size        1024        512      2048
  364.  
  365. *
  366. * SGI internal use
  367. *
  368. * histmax: semaphore history
  369. * conbufsz: console buffer sizes 
  370. * putbufsz: put buffer sizes 
  371. * dumplo: starting default offset in dumpdev to dump kernel when it crashes 
  372. * smeterhash: # of hash buckets for semaphore metering structures;
  373. *    if set, will be rounded up to power-of-two
  374. * mrmeterhash: # of hash buckets for multi-reader lock metering structures;
  375. *    if set, will be rounded up to power-of-two
  376. *
  377. internal:    static
  378.  
  379. * name            default          minimum      maximum
  380. histmax         0
  381. conbufsz         1024
  382. putbufsz         1024
  383. dumplo             0
  384. smeterhash        0        0      65536
  385. mrmeterhash        0        0      1024
  386.